# 图像翻转

import cv2
import numpy as np
import matplotlib.pyplot as plt

# 读取图片（OpenCV 默认以 BGR 格式读取图像，
# 但 Matplotlib期望 RGB 格式的图像，所以使用 cv2.cvtColor() 将图像从 BGR 转换为 RGB 格式）
img = cv2.imread("src/lena.png", cv2.IMREAD_UNCHANGED)
src = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# 图像翻转
# 0以X轴为对称轴翻转 >0以Y轴为对称轴翻转 <0X轴Y轴翻转
img1 = cv2.flip(src, 0)
img2 = cv2.flip(src, 1)
img3 = cv2.flip(src, -1)

# 显示图形 （注意一个窗口多张图像的用法）
titles = ['Source', 'Image1', 'Image2', 'Image3']
images = [src, img1, img2, img3]
for i in range(4):
    plt.subplot(2, 2, i + 1), plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()
